← Index
NYTProf Performance Profile   
For ../prof.pl
  Run on Wed Dec 14 15:57:08 2022
Reported on Wed Dec 14 16:00:37 2022

Filename(eval 417)[/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/Sub/Quote.pm:3]
StatementsExecuted 68 statements in 1.40ms
Eval Invoked At/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/Sub/Quote.pm line 3
Sibling evals1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
222148µs108sJSON::Schema::Modern::Document::OpenAPI::::newJSON::Schema::Modern::Document::OpenAPI::new
11120µs30µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@143JSON::Schema::Modern::Document::OpenAPI::BEGIN@143
11115µs43µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@14.302JSON::Schema::Modern::Document::OpenAPI::BEGIN@14.302
11110µs22µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@87JSON::Schema::Modern::Document::OpenAPI::BEGIN@87
1119µs25µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@77JSON::Schema::Modern::Document::OpenAPI::BEGIN@77
1117µs14µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@111JSON::Schema::Modern::Document::OpenAPI::BEGIN@111
1117µs18µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@138JSON::Schema::Modern::Document::OpenAPI::BEGIN@138
1117µs7µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@19.303JSON::Schema::Modern::Document::OpenAPI::BEGIN@19.303
1117µs15µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@90JSON::Schema::Modern::Document::OpenAPI::BEGIN@90
1115µs18µsJSON::Schema::Modern::Document::OpenAPI::::BEGIN@82JSON::Schema::Modern::Document::OpenAPI::BEGIN@82
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1{
224µs my $isa_check_for_evaluator = ${$_[1]->{"\$isa_check_for_evaluator"}};
311µs my $isa_check_for_json_5fschema_5fdialect = ${$_[1]->{"\$isa_check_for_json_5fschema_5fdialect"}};
410s my $isa_check_for_errors = ${$_[1]->{"\$isa_check_for_errors"}};
511µs my $_UNQUOTED = ${$_[1]->{"\$_UNQUOTED"}};
611µs my $coerce_for_canonical_5furi = ${$_[1]->{"\$coerce_for_canonical_5furi"}};
710s my $_QUOTED = ${$_[1]->{"\$_QUOTED"}};
811µs my $isa_check_for_metaschema_5furi = ${$_[1]->{"\$isa_check_for_metaschema_5furi"}};
910s my $coerce_for_json_5fschema_5fdialect = ${$_[1]->{"\$coerce_for_json_5fschema_5fdialect"}};
1010s my $isa_check_for_canonical_5furi = ${$_[1]->{"\$isa_check_for_canonical_5furi"}};
1111µs my $isa_check_for_operationIds = ${$_[1]->{"\$isa_check_for_operationIds"}};
1210s my $coerce_for_metaschema_5furi = ${$_[1]->{"\$coerce_for_metaschema_5furi"}};
13 package JSON::Schema::Modern::Document::OpenAPI;
14260µs271µs
# spent 43µs (15+28) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@14.302 which was called: # once (15µs+28µs) by Sub::Quote::_clean_eval at line 14
no warnings 'closure';
# spent 43µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@14.302 # spent 28µs making 1 call to warnings::unimport
15
# spent 108s (148µs+108) within JSON::Schema::Modern::Document::OpenAPI::new which was called 2 times, avg 54.1s/call: # once (137µs+108s) by OpenAPI::Modern::__ANON__[/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/OpenAPI/Modern.pm:79] at line 177 of Sub/Defer.pm # once (11µs+6.16ms) by OpenAPI::Modern::__ANON__[/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/OpenAPI/Modern.pm:79] at line 72 of OpenAPI/Modern.pm
sub new {
16 ($_QUOTED,$_UNQUOTED) if 0;
17# BEGIN quote_sub PRELUDE
18package JSON::Schema::Modern::Document::OpenAPI;
19
# spent 7µs within JSON::Schema::Modern::Document::OpenAPI::BEGIN@19.303 which was called: # once (7µs+0s) by Sub::Quote::_clean_eval at line 24
BEGIN {
2011µs $^H = 2018;
2111µs ${^WARNING_BITS} = "UUUUUUUUUUUUUUUUUUUU";
2214µs %^H = (
23 );
241254µs17µs}
25# END quote_sub PRELUDE
2611µs my $invoker = CORE::shift();
2711µs my $class = CORE::ref($invoker) ? CORE::ref($invoker) : $invoker;
2810s if ($class ne "JSON::Schema::Modern::Document::OpenAPI") {
29 if ($Moo::MAKERS{$class}) {
30 if ($Moo::MAKERS{$class}{constructor}) {
31 package JSON::Schema::Modern::Document::OpenAPI;
32 return $invoker->SUPER::new(@_);
33 }
34 Moo->_constructor_maker_for($class);
35 return $invoker->new(@_);
36 } elsif ($INC{"Moose.pm"} and my $meta = Class::MOP::get_metaclass_by_name($class)) {
37 return $meta->new_object(
38 $class->can("BUILDARGS") ? $class->BUILDARGS(@_)
39 : $class->Moo::Object::BUILDARGS(@_)
40 );
41 }
42 }
43 my $args = scalar @_ == 1
44 ? CORE::ref $_[0] eq 'HASH'
4515µs ? { %{ $_[0] } }
46 : Carp::croak("Single parameters to new() must be a HASH ref"
47 . " data => ". $_[0])
48 : @_ % 2
49 ? Carp::croak("The new() method for $class expects a hash reference or a"
50 . " key/value list. You passed an odd number of arguments")
51 : {@_}
52 ;
5313µs if (my @missing = grep !exists $args->{$_}, "evaluator", "schema") {
54 Carp::croak("Missing required arguments: ".CORE::join(', ', sort @missing));
55 }
56112µs219µs my $new = $invoker->JSON::Schema::Modern::Document::SUPER::new($class->FOREIGNBUILDARGS(@_));
# spent 16µs making 1 call to Mojo::JSON::Pointer::new # spent 3µs making 1 call to JSON::Schema::Modern::Document::FOREIGNBUILDARGS
5710s(exists $args->{"canonical_uri"} and ($new->{"canonical_uri"} = scalar do { my $value = do {
5812µs local $Method::Generate::Accessor::CurrentAttribute = {
59 init_arg => "canonical_uri",
60 name => "canonical_uri",
61 step => "coercion",
62 };
6311µs (my $_return),
64 (my $_error), (my $_old_error = $@);
6511µs (eval {
66 ($@ = $_old_error),
67 ($_return =
6813µs1442µs$coerce_for_canonical_5furi->($args->{"canonical_uri"})),
69 1
70 } or
71 $_error = CORE::ref $@ ? $@ : "coercion for \"canonical_uri\" failed: ".$@);
7211µs ($@ = $_old_error),
73 (defined $_error and CORE::die $_error);
7411µs $_return;
75}
76;
777114µs547µs
# spent 25µs (9+16) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@77 which was called: # once (9µs+16µs) by Sub::Quote::_clean_eval at line 77
(do { no warnings "void"; package Type::Tiny; ((((Scalar::Util::blessed($value) and $value->isa(q[Mojo::URL]))) && (do { local $_ = $value; not defined $_->fragment }))) or Type::Tiny::_failed_check($isa_check_for_canonical_5furi, "__ANON__", $value, "attribute_name","canonical_uri","attribute_step","isa check","mgaca","0","varname","\$args->{\"canonical_uri\"}"); $value }),
# spent 25µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@77 # spent 16µs making 1 call to warnings::unimport # spent 2µs making 1 call to Mojo::URL::fragment # spent 2µs making 1 call to Scalar::Util::blessed # spent 2µs making 1 call to UNIVERSAL::isa
78 $value
79}
80)),
81(exists $args->{"errors"} and ($new->{"errors"} = scalar do { my $value = $args->{"errors"};
822112µs231µs
# spent 18µs (5+13) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@82 which was called: # once (5µs+13µs) by Sub::Quote::_clean_eval at line 82
(do { no warnings "void"; package Type::Tiny; (do { package Type::Tiny; (Ref::Util::XS::is_plain_arrayref($value)) and do { my $ok = 1; for my $i (@{$value}) { ($ok = 0, last) unless (Scalar::Util::blessed($i) and $i->isa(q[JSON::Schema::Modern::Error])) }; $ok } }) or Type::Tiny::_failed_check($isa_check_for_errors, "ArrayRef[InstanceOf[\"JSON::Schema::Modern::Error\"]]", $value, "attribute_name","errors","attribute_step","isa check","mgaca","0","varname","\$args->{\"errors\"}"); $value }),
# spent 18µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@82 # spent 13µs making 1 call to warnings::unimport
83 $value
84}
85)),
8629µs11µs(exists $args->{"evaluator"} and (do { Scalar::Util::weaken($new->{"evaluator"} = scalar do { my $value = $args->{"evaluator"};
# spent 1µs making 1 call to Scalar::Util::weaken
87585µs436µs
# spent 22µs (10+12) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@87 which was called: # once (10µs+12µs) by Sub::Quote::_clean_eval at line 87
(do { no warnings "void"; package Type::Tiny; ((Scalar::Util::blessed($value) and $value->isa(q[JSON::Schema::Modern]))) or Type::Tiny::_failed_check($isa_check_for_evaluator, "InstanceOf[\"JSON::Schema::Modern\"]", $value, "attribute_name","evaluator","attribute_step","isa check","mgaca","0","varname","\$args->{\"evaluator\"}"); $value }),
# spent 22µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@87 # spent 12µs making 1 call to warnings::unimport # spent 1µs making 1 call to Scalar::Util::blessed # spent 1µs making 1 call to UNIVERSAL::isa
88 $value
89}
90388µs223µs
# spent 15µs (7+8) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@90 which was called: # once (7µs+8µs) by Sub::Quote::_clean_eval at line 90
); no warnings 'void'; $new->{"evaluator"} })),
# spent 15µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@90 # spent 8µs making 1 call to warnings::unimport
91(exists $args->{"json_schema_dialect"} and ($new->{"json_schema_dialect"} = scalar do { my $value = do {
92 local $Method::Generate::Accessor::CurrentAttribute = {
93 init_arg => "json_schema_dialect",
94 name => "json_schema_dialect",
95 step => "coercion",
96 };
97 (my $_return),
98 (my $_error), (my $_old_error = $@);
99 (eval {
100 ($@ = $_old_error),
101 ($_return =
102$coerce_for_json_5fschema_5fdialect->($args->{"json_schema_dialect"})),
103 1
104 } or
105 $_error = CORE::ref $@ ? $@ : "coercion for \"json_schema_dialect\" failed: ".$@);
106 ($@ = $_old_error),
107 (defined $_error and CORE::die $_error);
108 $_return;
109}
110;
1112119µs221µs
# spent 14µs (7+7) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@111 which was called: # once (7µs+7µs) by Sub::Quote::_clean_eval at line 111
(do { no warnings "void"; package Type::Tiny; ((Scalar::Util::blessed($value) and $value->isa(q[Mojo::URL]))) or Type::Tiny::_failed_check($isa_check_for_json_5fschema_5fdialect, "InstanceOf[\"Mojo::URL\"]", $value, "attribute_name","json_schema_dialect","attribute_step","isa check","mgaca","0","varname","\$args->{\"json_schema_dialect\"}"); $value }),
# spent 14µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@111 # spent 7µs making 1 call to warnings::unimport
112 $value
113}
114)),
11510s($new->{"metaschema_uri"} = scalar do { my $value = do {
11613µs local $Method::Generate::Accessor::CurrentAttribute = {
117 init_arg => "metaschema_uri",
118 name => "metaschema_uri",
119 step => "coercion",
120 };
12111µs (my $_return),
122 (my $_error), (my $_old_error = $@);
12311µs (eval {
124 ($@ = $_old_error),
125 ($_return =
126$coerce_for_metaschema_5furi->((
127 exists $args->{"metaschema_uri"}
12813µs1107µs ? $args->{"metaschema_uri"}
129 : "https://spec.openapis.org/oas/3.1/schema-base/latest"))),
130 1
131 } or
132 $_error = CORE::ref $@ ? $@ : "coercion for \"metaschema_uri\" failed: ".$@);
13311µs ($@ = $_old_error),
134 (defined $_error and CORE::die $_error);
13511µs $_return;
136}
137;
138597µs431µs
# spent 18µs (7+11) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@138 which was called: # once (7µs+11µs) by Sub::Quote::_clean_eval at line 138
(do { no warnings "void"; package Type::Tiny; ((Scalar::Util::blessed($value) and $value->isa(q[Mojo::URL]))) or Type::Tiny::_failed_check($isa_check_for_metaschema_5furi, "InstanceOf[\"Mojo::URL\"]", $value, "attribute_name","metaschema_uri","attribute_step","isa check","mgaca","0","varname","\$args->{\"metaschema_uri\"}"); $value }),
# spent 18µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@138 # spent 11µs making 1 call to warnings::unimport # spent 1µs making 1 call to Scalar::Util::blessed # spent 1µs making 1 call to UNIVERSAL::isa
139 $value
140}
141),
142(exists $args->{"operationIds"} and ($new->{"operationIds"} = scalar do { my $value = $args->{"operationIds"};
1432358µs240µs
# spent 30µs (20+10) within JSON::Schema::Modern::Document::OpenAPI::BEGIN@143 which was called: # once (20µs+10µs) by Sub::Quote::_clean_eval at line 143
(do { no warnings "void"; package Type::Tiny; (do { package Type::Tiny; (Ref::Util::XS::is_plain_hashref($value)) and do { my $ok = 1; for my $i (values %{$value}) { ($ok = 0, last) unless do { package Type::Tiny; defined($i) and do { ref(\$i) eq 'SCALAR' or ref(\(my $val = $i)) eq 'SCALAR' } } }; $ok } }) or Type::Tiny::_failed_check($isa_check_for_operationIds, "HashRef[Str]", $value, "attribute_name","operationIds","attribute_step","isa check","mgaca","0","varname","\$args->{\"operationIds\"}"); $value }),
# spent 30µs making 1 call to JSON::Schema::Modern::Document::OpenAPI::BEGIN@143 # spent 10µs making 1 call to warnings::unimport
144 $value
145}
146)),
147(exists $args->{"schema"} and ($new->{"schema"} = $args->{"schema"})),
148 (($args)[0]->{__no_BUILD__} or (
149136µs1108s $new->JSON::Schema::Modern::Document::BUILD($args),
# spent 108s making 1 call to JSON::Schema::Modern::Document::BUILD
150 )),
151 return $new;
152 }
15311µs $$_UNQUOTED = \&new;
154}
15519µs1;
156
157;